package com.jboost.modules.system.entity;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import javax.validation.constraints.NotNull;

import java.io.Serializable;
import java.util.Objects;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

/**
 *
 * @TableName hs_material_need
 */
@TableName("hs_material_need")
@Data
public class HsMaterialNeed implements Serializable {

    /**
     *
     */
    @NotNull(message = "[]不能为空")
    @ApiModelProperty("")
    @TableId(type = IdType.ASSIGN_ID)
    private String id;
    /**
     *
     */
    private String quoteNo;
    @ApiModelProperty("")
    private Long materialNo;
    /**
     *
     */
    @Size(max = 64, message = "编码长度不能超过64")
    @ApiModelProperty("")
    @Length(max = 64, message = "编码长度不能超过64")
    private String materialName;
    /**
     *
     */
    @Size(max = 64, message = "编码长度不能超过64")
    @ApiModelProperty("")
    @Length(max = 64, message = "编码长度不能超过64")
    private String materialType;
    /**
     *
     */
    @Size(max = 64, message = "编码长度不能超过64")
    @ApiModelProperty("")
    @Length(max = 64, message = "编码长度不能超过64")
    private String materialQuality;
    /**
     *
     */
    @Size(max = 64, message = "编码长度不能超过64")
    @ApiModelProperty("")
    @Length(max = 64, message = "编码长度不能超过64")
    private String materialSpecifications;
    /**
     *
     */
    @ApiModelProperty("")
    private String materialThickness;
    /**
     *
     */
    @ApiModelProperty("")
    private String materialRealThickness;
    /**
     *
     */
    @Size(max = 64, message = "编码长度不能超过64")
    @ApiModelProperty("")
    @Length(max = 64, message = "编码长度不能超过64")
    private String materialRealThicknessText;
    /**
     *
     */
    @Size(max = 64, message = "编码长度不能超过64")
    @ApiModelProperty("")
    @Length(max = 64, message = "编码长度不能超过64")
    private String materialThicknessText;
    /**
     *
     */
    @ApiModelProperty("")
    private String materialAllNeed;

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        HsMaterialNeed that = (HsMaterialNeed) o;
        return Objects.equals(id, that.id) && Objects.equals(quoteNo, that.quoteNo) && Objects.equals(materialNo, that.materialNo) && Objects.equals(materialName, that.materialName) && Objects.equals(materialType, that.materialType) && Objects.equals(materialQuality, that.materialQuality) && Objects.equals(materialSpecifications, that.materialSpecifications) && Objects.equals(materialThickness, that.materialThickness) && Objects.equals(materialRealThickness, that.materialRealThickness) && Objects.equals(materialRealThicknessText, that.materialRealThicknessText) && Objects.equals(materialThicknessText, that.materialThicknessText) && Objects.equals(materialAllNeed, that.materialAllNeed);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, quoteNo, materialNo, materialName, materialType, materialQuality, materialSpecifications, materialThickness, materialRealThickness, materialRealThicknessText, materialThicknessText, materialAllNeed);
    }
}